昨天我們讓我們的遊戲添加了道具功能,今天我們來給我們的遊戲增加生命值的機制吧!走起!!

Photo by Jude Beck on Unsplash
這邊我們利用了 group 的 config 機制來創建我們的生命值,這邊很方便的是如果你要製作很多一樣的東西可以透過 config 來幫你快速的佈置。
let life = 3;
...
    lifeText = this.add.text(10, 5, "Life: ");
    lives = this.physics.add.group({
      key: "ball",
      repeat: life - 1, // 這邊原先他就會幫你佈置一個,所以我們只需要重複 2 個可以佈置 3 個了
      setXY: { x: 65, y: 13, stepX: 15 },
      setScale: { x: 0.5, y: 0.5 },
    });
當我們的球掉到底下的時候扣除一點生命值,並且重置我們的球跟板子。
這邊可以看到我們可以用 enableBody 來重新設置我們的物件
    if (ball.body.y > 600) {
      // 刪除一顆場景內的生命值
      lives.getChildren()[lives.getChildren().length - 1].destroy();
      // 重置球跟板子
      ball.enableBody(true, 400, 500, true, true);
      ball.setVelocityY(200);
      board.enableBody(true, 400, 550, true, true);
      board.displayWidth = 95;
      board.setTint(0xffffff);
      speed = 160;
      direction = 1;
      life -= 1;
    }
現在的畫面就有了我們的生命提示囉~
我們完成了我們的生命機制,但是感覺還是美中不足,感覺死掉之後馬上就開始有點太突然了,我們明天來調整一下這個機制吧!!
Phaser Game 2020鐵人賽